package com.agp.com.agp.web;

import com.agp.api.test.IHelloApi;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * feign 熔断器示例
 *
 * @author oKong
 */
@RestController
@Slf4j
public class FeignController {

    @Autowired
    private IHelloApi iHelloClient;

    @GetMapping("/hello")
   // @HystrixCommand(fallbackMethod="fallback")
    public String hello(String name) {
        log.info("使用feign调用服务，参数name:{}", name);
        return iHelloClient.index(name);
    }

//    /**
//     * 发生熔断时调用的方法
//     * @param name
//     * @param throwable 发生异常时的异常信息
//     * @return
//     */
//    public String fallback(String name,Throwable throwable) {
//        log.error("熔断发生了：{}", throwable);
//        log.warn("restTemplate调用服务发生熔断，参数name:{}", name);
//        return "restTemplate调用服务发生熔断，参数name：" + name;
//    }
}
